Skip to content

Drop php8.1 support#10

Merged
MatusBoa merged 4 commits intomainfrom
feat-drop-81-support
Oct 6, 2025
Merged

Drop php8.1 support#10
MatusBoa merged 4 commits intomainfrom
feat-drop-81-support

Conversation

@MatusBoa
Copy link
Contributor

@MatusBoa MatusBoa commented Oct 6, 2025

No description provided.

@coderabbitai
Copy link

coderabbitai bot commented Oct 6, 2025

Walkthrough

Bumped minimum PHP to 8.2 (docs, composer), removed PHP 8.1 from CI matrix, enabled PHP 8.2 sets/rules in Rector and PHP-CS-Fixer, updated phpunit config, and migrated PHPUnit docblock @test annotations to PHP 8 attribute #[\PHPUnit\Framework\Attributes\Test] across tests.

Changes

Cohort / File(s) Summary
CI workflow
.github/workflows/phpunit.yaml
Removed 8.1 from PHP matrix; matrix now contains 8.2–8.5. No other workflow logic changed.
Composer & docs
composer.json, README.md
Raised PHP requirement from ^8.1 to ^8.2; bumped phpunit/phpunit dev requirement from ^9.0 to ^11.0; README minimum PHP updated to 8.2.
Code quality tooling
.php-cs-fixer.php, rector.php
Added PHP-CS-Fixer rules (@PHP8x2Migration:risky, php_unit_attributes, no_empty_phpdoc) and left risky allowed; enabled Rector PHP 8.2 sets via withPhpSets(php82: true).
PHPUnit config
phpunit.xml.dist
Replaced legacy coverage whitelist/filter with <source> include; added XML declaration, namespaces, and bootstrap attribute on root element.
Tests — attribute migration
tests/*
tests/IsEmptyTest.php, tests/IsNotEmptyTest.php, tests/FilterTest.php, tests/FirstTest.php, tests/KeysTest.php, tests/MapTest.php, tests/MapWithKeysTest.php, ...
Replaced docblock @test annotations with PHP 8 attribute #[\PHPUnit\Framework\Attributes\Test] (added imports where applicable). No test logic or assertions changed.

Sequence Diagram(s)

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

Pre-merge checks and finishing touches

❌ Failed checks (1 warning, 1 inconclusive)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
Description Check ❓ Inconclusive The pull request has no description content, so it provides no meaningful information about the changeset and is too vague to determine its relation to the updates. Please add a brief description summarizing the changes and motivations for dropping PHP 8.1 support to help reviewers understand the intent and scope of this pull request.
✅ Passed checks (1 passed)
Check name Status Explanation
Title Check ✅ Passed The title “Drop php8.1 support” succinctly and accurately describes the main purpose of this changeset, which removes PHP 8.1 from the supported versions and updates related configuration and dependencies. It is a clear, single sentence without extraneous detail, matching the core change.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feat-drop-81-support

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 7d1d411 and fec1fee.

📒 Files selected for processing (2)
  • tests/IsEmptyTest.php (5 hunks)
  • tests/IsNotEmptyTest.php (5 hunks)
🧰 Additional context used
🧬 Code graph analysis (2)
tests/IsEmptyTest.php (2)
tests/IsNotEmptyTest.php (13)
  • PHPUnit (11-16)
  • PHPUnit (18-22)
  • PHPUnit (24-29)
  • PHPUnit (31-38)
  • PHPUnit (40-45)
  • PHPUnit (47-52)
  • PHPUnit (54-63)
  • PHPUnit (65-73)
  • PHPUnit (75-80)
  • PHPUnit (82-87)
  • PHPUnit (89-97)
  • PHPUnit (99-105)
  • PHPUnit (107-113)
src/Iterables.php (2)
  • Iterables (7-115)
  • isEmpty (65-72)
tests/IsNotEmptyTest.php (2)
tests/IsEmptyTest.php (12)
  • PHPUnit (11-16)
  • PHPUnit (18-22)
  • PHPUnit (24-29)
  • PHPUnit (31-38)
  • PHPUnit (40-45)
  • PHPUnit (47-52)
  • PHPUnit (54-63)
  • PHPUnit (65-73)
  • PHPUnit (75-80)
  • PHPUnit (82-87)
  • PHPUnit (89-97)
  • PHPUnit (99-105)
src/Iterables.php (2)
  • Iterables (7-115)
  • isNotEmpty (79-82)
🪛 PHPMD (2.15.0)
tests/IsEmptyTest.php

14-14: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itReturnsIfIterableIsEmpty'. (undefined)

(StaticAccess)


15-15: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itReturnsIfIterableIsEmpty'. (undefined)

(StaticAccess)


21-21: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itReturnsTrueForEmptyArrayWithMixedKeys'. (undefined)

(StaticAccess)


27-27: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itReturnsFalseForArrayWithNullValue'. (undefined)

(StaticAccess)


28-28: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itReturnsFalseForArrayWithNullValue'. (undefined)

(StaticAccess)


43-43: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itReturnsFalseForArrayWithStringKeys'. (undefined)

(StaticAccess)


44-44: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itReturnsFalseForArrayWithStringKeys'. (undefined)

(StaticAccess)


50-50: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itReturnsFalseForArrayWithNumericKeys'. (undefined)

(StaticAccess)


51-51: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itReturnsFalseForArrayWithNumericKeys'. (undefined)

(StaticAccess)


78-78: Missing class import via use statement (line '78', column '33'). (undefined)

(MissingImport)


79-79: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itHandlesEmptyArrayObject'. (undefined)

(StaticAccess)


85-85: Missing class import via use statement (line '85', column '28'). (undefined)

(MissingImport)


86-86: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itHandlesNonEmptyArrayObject'. (undefined)

(StaticAccess)

tests/IsNotEmptyTest.php

14-14: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itReturnsIfIterableIsNotEmpty'. (undefined)

(StaticAccess)


15-15: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itReturnsIfIterableIsNotEmpty'. (undefined)

(StaticAccess)


21-21: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itReturnsFalseForEmptyArrayWithMixedKeys'. (undefined)

(StaticAccess)


27-27: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itReturnsTrueForArrayWithNullValue'. (undefined)

(StaticAccess)


28-28: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itReturnsTrueForArrayWithNullValue'. (undefined)

(StaticAccess)


43-43: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itReturnsTrueForArrayWithStringKeys'. (undefined)

(StaticAccess)


44-44: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itReturnsTrueForArrayWithStringKeys'. (undefined)

(StaticAccess)


50-50: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itReturnsTrueForArrayWithNumericKeys'. (undefined)

(StaticAccess)


51-51: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itReturnsTrueForArrayWithNumericKeys'. (undefined)

(StaticAccess)


78-78: Missing class import via use statement (line '78', column '33'). (undefined)

(MissingImport)


79-79: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itHandlesEmptyArrayObject'. (undefined)

(StaticAccess)


85-85: Missing class import via use statement (line '85', column '28'). (undefined)

(MissingImport)


86-86: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itHandlesNonEmptyArrayObject'. (undefined)

(StaticAccess)


102-102: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itHandlesSingleElementIterables'. (undefined)

(StaticAccess)


103-103: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itHandlesSingleElementIterables'. (undefined)

(StaticAccess)


104-104: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itHandlesSingleElementIterables'. (undefined)

(StaticAccess)

🔇 Additional comments (2)
tests/IsNotEmptyTest.php (1)

11-11: LGTM! Attribute migration is complete and correct.

All test methods have been successfully migrated from docblock @test annotations to PHP 8 attribute syntax #[\PHPUnit\Framework\Attributes\Test]. This change aligns with the PR objective of dropping PHP 8.1 support and adopting PHP 8.2+ features.

Also applies to: 18-18, 24-24, 31-31, 40-40, 47-47, 54-54, 65-65, 75-75, 82-82, 89-89, 99-99, 107-107

tests/IsEmptyTest.php (1)

11-11: LGTM! Attribute migration is complete and correct.

All test methods have been successfully migrated from docblock @test annotations to PHP 8 attribute syntax #[\PHPUnit\Framework\Attributes\Test]. This change is consistent with the broader PR effort to adopt PHP 8.2+ features across the test suite.

Also applies to: 18-18, 24-24, 31-31, 40-40, 47-47, 54-54, 65-65, 75-75, 82-82, 89-89, 99-99


Comment @coderabbitai help to get the list of available commands and usage tips.

@coveralls
Copy link
Collaborator

coveralls commented Oct 6, 2025

Pull Request Test Coverage Report for Build 18283281136

Details

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage remained the same at 100.0%

Totals Coverage Status
Change from base Build 18282660864: 0.0%
Covered Lines: 23
Relevant Lines: 23

💛 - Coveralls

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

📜 Review details

Configuration used: CodeRabbit UI

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 9929413 and 7d1d411.

📒 Files selected for processing (9)
  • .php-cs-fixer.php (1 hunks)
  • phpunit.xml.dist (1 hunks)
  • tests/FilterTest.php (13 hunks)
  • tests/FirstTest.php (7 hunks)
  • tests/IsEmptyTest.php (5 hunks)
  • tests/IsNotEmptyTest.php (5 hunks)
  • tests/KeysTest.php (8 hunks)
  • tests/MapTest.php (11 hunks)
  • tests/MapWithKeysTest.php (12 hunks)
🧰 Additional context used
🧬 Code graph analysis (7)
tests/IsEmptyTest.php (2)
tests/IsNotEmptyTest.php (13)
  • PHPUnit (11-16)
  • PHPUnit (18-23)
  • PHPUnit (25-30)
  • PHPUnit (32-39)
  • PHPUnit (41-46)
  • PHPUnit (48-53)
  • PHPUnit (55-64)
  • PHPUnit (66-74)
  • PHPUnit (76-81)
  • PHPUnit (83-88)
  • PHPUnit (90-98)
  • PHPUnit (100-106)
  • PHPUnit (108-114)
src/Iterables.php (2)
  • Iterables (7-115)
  • isEmpty (65-72)
tests/KeysTest.php (3)
tests/FilterTest.php (13)
  • PHPUnit (12-21)
  • PHPUnit (23-32)
  • PHPUnit (34-43)
  • PHPUnit (45-54)
  • PHPUnit (56-65)
  • PHPUnit (67-76)
  • PHPUnit (78-87)
  • PHPUnit (89-98)
  • PHPUnit (100-109)
  • PHPUnit (111-120)
  • PHPUnit (122-131)
  • PHPUnit (133-148)
  • PHPUnit (150-161)
tests/FirstTest.php (3)
  • PHPUnit (11-18)
  • PHPUnit (20-24)
  • PHPUnit (26-32)
src/Iterables.php (2)
  • keys (91-96)
  • Iterables (7-115)
tests/IsNotEmptyTest.php (2)
tests/IsEmptyTest.php (12)
  • PHPUnit (11-16)
  • PHPUnit (18-23)
  • PHPUnit (25-30)
  • PHPUnit (32-39)
  • PHPUnit (41-46)
  • PHPUnit (48-53)
  • PHPUnit (55-64)
  • PHPUnit (66-74)
  • PHPUnit (76-81)
  • PHPUnit (83-88)
  • PHPUnit (90-98)
  • PHPUnit (100-106)
src/Iterables.php (2)
  • Iterables (7-115)
  • isNotEmpty (79-82)
tests/FirstTest.php (2)
tests/FilterTest.php (13)
  • PHPUnit (12-21)
  • PHPUnit (23-32)
  • PHPUnit (34-43)
  • PHPUnit (45-54)
  • PHPUnit (56-65)
  • PHPUnit (67-76)
  • PHPUnit (78-87)
  • PHPUnit (89-98)
  • PHPUnit (100-109)
  • PHPUnit (111-120)
  • PHPUnit (122-131)
  • PHPUnit (133-148)
  • PHPUnit (150-161)
src/Iterables.php (2)
  • Iterables (7-115)
  • first (51-58)
tests/MapWithKeysTest.php (2)
tests/FilterTest.php (13)
  • PHPUnit (12-21)
  • PHPUnit (23-32)
  • PHPUnit (34-43)
  • PHPUnit (45-54)
  • PHPUnit (56-65)
  • PHPUnit (67-76)
  • PHPUnit (78-87)
  • PHPUnit (89-98)
  • PHPUnit (100-109)
  • PHPUnit (111-120)
  • PHPUnit (122-131)
  • PHPUnit (133-148)
  • PHPUnit (150-161)
tests/FirstTest.php (3)
  • PHPUnit (11-18)
  • PHPUnit (20-24)
  • PHPUnit (26-32)
tests/MapTest.php (2)
tests/FilterTest.php (13)
  • PHPUnit (12-21)
  • PHPUnit (23-32)
  • PHPUnit (34-43)
  • PHPUnit (45-54)
  • PHPUnit (56-65)
  • PHPUnit (67-76)
  • PHPUnit (78-87)
  • PHPUnit (89-98)
  • PHPUnit (100-109)
  • PHPUnit (111-120)
  • PHPUnit (122-131)
  • PHPUnit (133-148)
  • PHPUnit (150-161)
tests/FirstTest.php (3)
  • PHPUnit (11-18)
  • PHPUnit (20-24)
  • PHPUnit (26-32)
tests/FilterTest.php (2)
tests/FirstTest.php (13)
  • PHPUnit (11-18)
  • PHPUnit (20-24)
  • PHPUnit (26-32)
  • PHPUnit (34-39)
  • PHPUnit (41-48)
  • PHPUnit (50-55)
  • PHPUnit (57-62)
  • PHPUnit (64-74)
  • PHPUnit (76-85)
  • PHPUnit (87-95)
  • PHPUnit (97-105)
  • PHPUnit (107-113)
  • PHPUnit (115-121)
tests/TestCase.php (1)
  • TestCase (7-9)
🪛 PHPMD (2.15.0)
tests/IsEmptyTest.php

14-14: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itReturnsIfIterableIsEmpty'. (undefined)

(StaticAccess)


15-15: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itReturnsIfIterableIsEmpty'. (undefined)

(StaticAccess)


21-21: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itReturnsTrueForEmptyArrayWithMixedKeys'. (undefined)

(StaticAccess)


22-22: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itReturnsTrueForEmptyArrayWithMixedKeys'. (undefined)

(StaticAccess)


28-28: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itReturnsFalseForArrayWithNullValue'. (undefined)

(StaticAccess)


29-29: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itReturnsFalseForArrayWithNullValue'. (undefined)

(StaticAccess)


44-44: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itReturnsFalseForArrayWithStringKeys'. (undefined)

(StaticAccess)


45-45: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itReturnsFalseForArrayWithStringKeys'. (undefined)

(StaticAccess)


51-51: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itReturnsFalseForArrayWithNumericKeys'. (undefined)

(StaticAccess)


52-52: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itReturnsFalseForArrayWithNumericKeys'. (undefined)

(StaticAccess)


79-79: Missing class import via use statement (line '79', column '33'). (undefined)

(MissingImport)


80-80: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itHandlesEmptyArrayObject'. (undefined)

(StaticAccess)


86-86: Missing class import via use statement (line '86', column '28'). (undefined)

(MissingImport)


87-87: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itHandlesNonEmptyArrayObject'. (undefined)

(StaticAccess)

tests/KeysTest.php

25-25: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itReturnsEmptyArrayForEmptyIterable'. (undefined)

(StaticAccess)


52-52: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itReturnsNegativeNumericKeys'. (undefined)

(StaticAccess)


59-59: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itReturnsStringKeys'. (undefined)

(StaticAccess)


66-66: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itReturnsEmptyStringKey'. (undefined)

(StaticAccess)


73-73: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itReturnsMixedKeyTypes'. (undefined)

(StaticAccess)


80-80: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itReturnsKeysWithNullValues'. (undefined)

(StaticAccess)


126-126: Missing class import via use statement (line '126', column '28'). (undefined)

(MissingImport)


127-127: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itReturnsKeysFromArrayObject'. (undefined)

(StaticAccess)


134-134: Missing class import via use statement (line '134', column '33'). (undefined)

(MissingImport)


135-135: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itReturnsEmptyForEmptyArrayObject'. (undefined)

(StaticAccess)


142-142: Missing class import via use statement (line '142', column '25'). (undefined)

(MissingImport)


143-143: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itReturnsKeysFromArrayIterator'. (undefined)

(StaticAccess)

tests/IsNotEmptyTest.php

14-14: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itReturnsIfIterableIsNotEmpty'. (undefined)

(StaticAccess)


15-15: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itReturnsIfIterableIsNotEmpty'. (undefined)

(StaticAccess)


21-21: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itReturnsFalseForEmptyArrayWithMixedKeys'. (undefined)

(StaticAccess)


22-22: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itReturnsFalseForEmptyArrayWithMixedKeys'. (undefined)

(StaticAccess)


28-28: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itReturnsTrueForArrayWithNullValue'. (undefined)

(StaticAccess)


29-29: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itReturnsTrueForArrayWithNullValue'. (undefined)

(StaticAccess)


44-44: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itReturnsTrueForArrayWithStringKeys'. (undefined)

(StaticAccess)


45-45: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itReturnsTrueForArrayWithStringKeys'. (undefined)

(StaticAccess)


51-51: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itReturnsTrueForArrayWithNumericKeys'. (undefined)

(StaticAccess)


52-52: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itReturnsTrueForArrayWithNumericKeys'. (undefined)

(StaticAccess)


79-79: Missing class import via use statement (line '79', column '33'). (undefined)

(MissingImport)


80-80: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itHandlesEmptyArrayObject'. (undefined)

(StaticAccess)


86-86: Missing class import via use statement (line '86', column '28'). (undefined)

(MissingImport)


87-87: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itHandlesNonEmptyArrayObject'. (undefined)

(StaticAccess)


103-103: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itHandlesSingleElementIterables'. (undefined)

(StaticAccess)


104-104: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itHandlesSingleElementIterables'. (undefined)

(StaticAccess)


105-105: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itHandlesSingleElementIterables'. (undefined)

(StaticAccess)

tests/FirstTest.php

23-23: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itReturnsNullIfIterableIsEmptyWhileGettingFirstValue'. (undefined)

(StaticAccess)


29-29: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itReturnsFirstValueFromSingleElementIterable'. (undefined)

(StaticAccess)


30-30: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itReturnsFirstValueFromSingleElementIterable'. (undefined)

(StaticAccess)


31-31: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itReturnsFirstValueFromSingleElementIterable'. (undefined)

(StaticAccess)


37-37: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itReturnsNullAsFirstValue'. (undefined)

(StaticAccess)


38-38: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itReturnsNullAsFirstValue'. (undefined)

(StaticAccess)


53-53: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itReturnsFirstValueWithStringKeys'. (undefined)

(StaticAccess)


54-54: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itReturnsFirstValueWithStringKeys'. (undefined)

(StaticAccess)


60-60: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itReturnsFirstValueWithNumericKeys'. (undefined)

(StaticAccess)


61-61: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itReturnsFirstValueWithNumericKeys'. (undefined)

(StaticAccess)


110-110: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itReturnsFirstValueWithMixedTypes'. (undefined)

(StaticAccess)


111-111: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itReturnsFirstValueWithMixedTypes'. (undefined)

(StaticAccess)


112-112: Avoid using static access to class '\Bonu\Iterable\Iterables' in method 'itReturnsFirstValueWithMixedTypes'. (undefined)

(StaticAccess)

🔇 Additional comments (9)
.php-cs-fixer.php (1)

16-18: LGTM! PHP 8.2 migration rules properly configured.

The added rules align well with the PHP 8.2 migration:

  • @PHP8x2Migration:risky applies PHP 8.2 transformations
  • php_unit_attributes enforces attribute-based test discovery
  • no_empty_phpdoc removes obsolete empty PHPDoc blocks
tests/KeysTest.php (1)

11-169: LGTM! Test methods correctly migrated to PHP 8 attributes.

All test methods now use #[\PHPUnit\Framework\Attributes\Test] attribute syntax, which is the correct approach for PHPUnit 11 and PHP 8.2+. The migration preserves all test logic and assertions.

tests/FirstTest.php (1)

11-122: LGTM! Test attribute migration completed correctly.

All test methods properly use the #[\PHPUnit\Framework\Attributes\Test] attribute, maintaining consistency with the PHP 8.2+ migration across the test suite.

tests/FilterTest.php (1)

12-162: LGTM! Test methods successfully migrated to attributes.

All test methods correctly use PHP 8 attribute syntax for test discovery, which is appropriate for PHPUnit 11 and PHP 8.2+.

tests/IsEmptyTest.php (1)

11-107: LGTM! Attribute migration completed successfully.

All test methods correctly use PHP 8 attribute syntax for PHPUnit test discovery, aligning with the PHP 8.2+ migration goals.

phpunit.xml.dist (1)

1-15: LGTM! PHPUnit configuration updated to modern format.

The changes correctly migrate from the deprecated filter/whitelist syntax to the modern source/include structure required by PHPUnit 11. The added XML declaration and bootstrap attribute are proper additions for the updated configuration schema.

tests/IsNotEmptyTest.php (1)

11-115: LGTM! Attribute-based test discovery properly implemented.

All test methods successfully migrated to PHP 8 attribute syntax, consistent with the PHPUnit 11 and PHP 8.2+ requirements.

tests/MapTest.php (1)

11-145: LGTM! Test methods migrated to attribute syntax.

All test methods correctly use #[\PHPUnit\Framework\Attributes\Test] attribute, completing the migration to PHP 8.2+ test discovery conventions.

tests/MapWithKeysTest.php (1)

11-11: LGTM! Clean migration to PHP 8+ attributes.

All 12 test methods have been correctly migrated from docblock @test annotations to the PHP 8+ attribute syntax #[\PHPUnit\Framework\Attributes\Test]. This migration aligns with PHPUnit 11 requirements and PHP 8.2+ best practices.

Based on learnings.

Also applies to: 24-24, 35-35, 46-46, 61-61, 74-74, 87-87, 110-110, 123-123, 141-141, 156-156, 167-167

@MatusBoa MatusBoa merged commit 324b499 into main Oct 6, 2025
15 checks passed
@MatusBoa MatusBoa deleted the feat-drop-81-support branch October 6, 2025 13:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants